In a digital television decoder comprising a hard disk, various flows of the audio, video and teletext/subtitle type such as described, among others, in the DVB standards may be stored in partial flow form on the hard disk, in order to be subsequently replayed and decoded.
These various flows are usually transported in a flow transport utilizing, for example, the DVB standard, demultiplexed by a demultiplexer and transmitted respectively to elementary decoders for audio, video, teletext or subtitle decoding. Flows transmitted to a decoding device may be intended for synchronous use. This is, for example, the case with audio and video data that are interconnected by time synchronization data in the form of presentation time stamps (PTS). The operation of these data, combined with the updating of a local system time clock (STC) by means of time reference signals noted PCR (Program Clock Reference), enable images to be displayed synchronously with sound. The PCR time references are inserted in the data flow in synchronism with a clock that synchronizes the coding of data. They enable, by using a frequency synthesizer or a voltage controlled oscillator noted VCXO (Voltage Controlled Crystal Oscillator), the generation on the decoding side of the STC clock. The PTS time stamps enable the presentation of data packets to be synchronized with relation to the STC clock. Although video decoding and audio decoding are separate processes, each video packet and each audio packet is synchronized with the STC clock such that they are presented at the same given time. In other words, the video and audio packets are each synchronized with the STC clock and are therefore synchronized therebetween. This method is well known and implemented in digital decoders.
It will be noted that the transmission of PTS synchronization data is not obligatory in the case of subtitle/teletext data. Synchronization of such data, the need for which is much less precise than in the case of audio data, is carried out by an almost-immediate (a few tens of ms at most) decoding of the data received at the output of the demultiplexer. Because of this, with regard to the operation of subtitle flows in direct decoding mode according to an antenna signal, the presence or not of synchronization data in these flows being of little interest, the taking into account of an average error is sufficient to improve accuracy.
However, the implementation of such a solution poses a certain number of difficulties in the case of a decoder comprising a data storage space.
Thus, the principle generally utilized during the playback of data replayed from a storage space consists of buffering (that is, storing in buffer memory) the data utilized, by notably filling to the maximum the buffer memory with video data. From this point on, either the term “buffer memory” or the term “buffer” will be used. The buffers utilized are of the FIFO “First In First Out” type. In this manner, a possible malfunction in reading on the storage space (such as a disk read error, for example) resulting in a delay in the reading of these data is not obvious. Thus, all of the audio, video and subtitle data played back from a storage space is provided to the demultiplexer, with control managed by the fill level of the video decoding buffer.
In the case where no before sending PTS time stamp is implemented for subtitles, the subtitles are decoded as soon as they are available at the output of the demultiplexer, in the same manner as in direct receipt. Video data not yet decoded therefore risk being still present in the video decoding buffer, while the corresponding subtitles are already being displayed. In practice, the size of the video decoding buffer and the usual video compression rates are such that it is possible to have an interval of several seconds between these subtitles and the image that has not yet been decoded. The display consistency of subtitles with relation to the video is then seriously compromised. Consequently, it is understood that the fact of immediately (without buffering) playing the subtitles without PTS presentation time stamps does not pose a major problem when data are played “live,” but that this absence of buffering poses serious problems in the case of reading data from a hard disk incorporated in the decoder. It will be noted that the term “live” utilized from this point on designates live displaying, from the flow and not from the hard disk.
In addition, in the absence of presentation time stamps associated with subtitle data, the problems mentioned above are further increased in idle mode inasmuch as the delay between the display of the subtitles and that of the video images is even longer.